🕸️ Ada Research Browser

phase4-assessment-schemas.md
← Back

prd: "PRD-004-assessment-workflow" title: "Phase 4: Assessment Pydantic Schemas" description: "Request/response schemas for assessment CRUD and practice evaluation" status: IN_PROGRESS created: 2026-03-03 depends_on: [phase2/models-migration]


Phase 4: Assessment Pydantic Schemas

Goal: Create Pydantic schemas for assessment CRUD and practice evaluation with status enum validation.

Architecture: Pydantic v2 models with from_attributes config, Field constraints, and Literal types for enums.

Tech Stack: Pydantic v2, Python typing (Literal).

Tasks

Task 1: Assessment schemas

Test:

- AssessmentCreate validates required fields (org_id, title, target_level)
- AssessmentCreate rejects invalid target_level (0, 4)
- AssessmentCreate rejects invalid assessment_type
- AssessmentUpdate allows partial updates (all fields optional)
- AssessmentResponse serializes all fields including timestamps
- AssessmentListResponse wraps list of assessments with count

Implementation: 1. Create cmmc/schemas/assessment.py with: - Status/type Literal types - AssessmentCreate, AssessmentUpdate - AssessmentResponse, AssessmentListResponse - AssessmentPracticeResponse, AssessmentPracticeUpdate

Verification: uv run pytest tests/test_assessment_schemas.py -v

Commit: feat(schemas): add assessment and practice evaluation Pydantic schemas (PRD-004)

Final Validation